3.1. Программы моделирования электронных устройств на уровне структурных схем

 

SystemVue  (Elanix, Agilent  Technologies). Пакет  SystemVue  (ранее SystemView)  (www.keysight.com)

представляет собой мощную интегрированную среду проектирования с почти неограниченными возможностями, внешне сохранившую красочность и привлекательность детского конструктора. Только из кубиков, подобных знаменитому Lego, можно строить не домики для кукол, а модели широкополосных систем связи, использующих сложные цифровые сигналы, например QAM64, анализировать их поведение в различной помеховой и шумовой обстановке или проектировать сверхбыстродействующие цифровые сигнальные процессоры (DSP, от англ.  Digital Signal Processor) с конечной реализацией на программируемых вентильных матрицах (FPGA, от англ.  Field Programmable Gate Array).

Пользовательский интерфейс программы (рис. 3) прост и интуитивно понятен. Основу пакета составляет базовый модуль SystemVue Professional Edition, к которому подключаются различные специализированные библиотеки, обеспечивающие проектировщиков моделями почти всех необходимых функциональных блоков. Если уже имеющаяся модель по каким-либо соображениям не устраивает разработчика, у него есть возможность создать собственную пользовательскую модель, опирающуюся на оптимальные с его точки зрения математические выкладки.

Системы могут иметь сколь угодно сложную иерархическую структуру, реализованную на основе подсистем. Ряд подсистем может быть скомпилирован в пользовательские функциональные блоки или даже целые библиотеки.

 

Модель ФАПЧ 2-го порядка в SystemView.

 

Окно программы System View

 

Первые версии пакета появились в 1991 г. Последняя версия SystemView была выпущена в 2007 г. (версия 2007.3). Последующая версия SystemView (SystemVue) разработана уже фирмой Agilent (на основе пакета ADS) в 2008 г. Последняя на декабрь 2014 г. известная рабочая версия SystemVue выпущена компанией Agilent в 2013 г.

В состав пакета SystemView входят следующие библиотеки:

·   Communications Library – содержит модели каналов, кодеров и декодеров, модуляторов и демодуляторов;

·   DSP Library – предназначена для моделирования цифровых сигнальных процессоров, в том числе содержит прототипы для реализации ПЛИС;

·   RF/Analog Library – содержит модели различных радиотехнических устройств трактов аналоговой обработки сигналов;

·   Logic Library – библиотека цифровых логических схем;

·   CDMA/PCS Library – включает модели устройств, используемых в современных системах связи, в том числе и с кодовым разделением каналов;

·   Digital Video Broadcasting (DVB) Library – объединяет модели функциональных блоков, используемых в аппаратуре цифрового телевизионного вещания;

·   Wireless Network Library – объединяет модели устройств, выполненых согласно стандартам
IEEE 802.11abg, Bluetooth и Ultra Wide-Band (UWB), необходимых для построения беспроводных сетей
передачи данных;

·        EnTegra Adaptive Filter Library – библиотека компонентов адаптивных фильтров и др.

Для пользователей также доступны две дополнительные опции:

·    APG Acceleration Option – обеспечивает прямой доступ внешним приложениям к разработанным в SystemView моделям высокого уровня, благодаря возможности формирования из них исполняемого кода;

·    M-Link Option – обеспечивает горячую связь между SystemVue и пакетом Matlab, что дает возможность использовать в проекте собственные пользовательские блоки или библиотеки третьих фирм, разработанных специально для Matlab.

Для разработчиков цифровых сигнальных процессоров и устройств на основе FPGA имеются специализированные продукты, позволяющие генерировать подготовленный к компиляции код для процессоров, разрабатывать устройства и обеспечивать интерфейс между такими устройствами.

ACOLADE (Icucom), Visual System Simulator (AWR, NI). Пакет Advanced Communication Link Analysis

and Design Environment (ACOLADE) американской компании Icucom (выкуплен компанией National Instruments в 2011 г., www.awrcorp.com) служит для моделирования и проектирования систем, работающих с широкополосными цифровыми сигналами. Эта программа позволяет моделировать устройства с большими скоростями передачи данных, а также с асинхронными потоками. Как и в других программах анализа структурных схем, проект создается из библиотечных моделей, которые соединяются между собой непосредственно на экране (рис. 4).

 

image001

 

 Окно программы ACOLADE

 

Пакет ACOLADE предоставляет пользователям следующие возможности:

·        рассчитывает формы и спектры сигналов;

·        выполняет статистический анализ методом Монте-Карло;

·        производит сквозное моделирование канала с учетом кодирования данных в источнике, модуляции, демодуляции, цифровой обработки сигналов;

·        учитывает специфические характеристики канала: замирание, многолучевость распространения сигналов и наличие помех различных типов.

Базовая часть пакета ACOLADE содержит около 100 моделей основных функциональных блоков систем связи и большое количество библиотек, в том числе специализированных:

·        Advanced Transmission Library – позволяет применять более сложные виды модуляции;

·        Coding Library – состоит из моделей кодирования, декодирования и преобразования сигналов;

·        RF/Analog Library. В нее входят различные аналого-цифровые (АЦП) и цифро-аналоговые (ЦАП) преобразователи, смесители, усилители, модуляторы, источники шума и фильтры, позволяющие оценивать уровни паразитных комбинационных составляющих, интермодуляционных искажений и перекрестной модуляции в частотной области, а также анализировать линейные и нелинейные зависимости, импульсные характеристики и эффекты модуляции во временной области;

·        CDMA Library – для анализа систем с кодовым разделением каналов, содержит корреляторы данных, кодеры Витерби и Уолша, модуляторы и демодуляторы широкополосных сигналов;

·        GSM Library и GPS Library – для разработки систем глобального позиционирования.

Пакет ACOLADE имеет открытую архитектуру и позволяет вводить пользовательские модели в виде DLL-модулей. Тесная интеграция с пакетом Microwave Office компании Applied Wave Research значительно повышает точность моделирования сверхвысокочастотных (СВЧ) модулей, входящих в состав систем передачи цифровых сигналов.

Система Visual System Simulator (рис. 5) компании Applied Wave Research (AWR, выкуплена компанией National Instruments, www.awrcorp.com) представляет собой реализацию интегрированной среды разработки Design Environment на базе вычислительного ядра продукта ACOLADE, поэтому ее функциональные возможности практически совпадают с вышеприведенными. Но, кроме того, она обладает рядом дополнительных возможностей.

 

vss005

 

Окно программы Visual System Simulator

 

Ядро моделирования позволяет быстро и просто проектировать и анализировать блок-схемы, используя генераторы сигналов с практически произвольной модуляцией. Система содержит обширный набор моделей функциональных блоков и обеспечивает поддержку библиотек стандартов связи: GSM, CDMA, 3G, GPS, DVB и др.

Visual System Simulator предназначена для моделирования систем, работающих с широкополосными цифровыми сигналами. Как и в других программах анализа структурных схем, проект создается из библиотечных модулей, которые соединяются между собой непосредственно на экране. Эта программа работает с потоками данных и позволяет моделировать устройства с большими скоростями передачи данных, а также с асинхронными потоками.

В процессе моделирования пользователь может изменять различные параметры моделируемой системы или схемы с помощью инструмента "тюнер" и в режиме реального времени наблюдать изменение поведения системы на различных графиках и диаграммах. Например, изменяя уровень шумов в канале распространения сигнала, можно наблюдать изменения на фазовых портретах сигналов на выходе приемника так же, как если бы проводились лабораторные испытания готового устройства. Ни одна другая система не предлагает такой скорости вычислений.

Система полностью интегрирована с интерфейсом TestWave, предназначенным для создания программно-аппаратных комплексов на базе Visual System Simulator или Microwave Office и измерительной техники. Двунаправленный интерфейс позволяет при моделировании использовать реальные характеристики, получаемые с прототипа через спектроанализатор или, например, сетевой анализатор, и подавать на прототип сигналы, сформированные с помощью Visual System Simulator. Измеренные спектры шумов синтезаторов частоты могут быть импортированы в систему, что в дальнейшем позволит оценить влияние на нее реальных фазовых шумов.

На декабрь 2014 г. актуальными являются версии программы Visual System Simulator от 2006, 2008 и 2009 годов выпуска.

Matlab  и  Simulink  (The  MathWorks).  Пакет  Matlab  фирмы  The MathWorks относится  к программам

математического моделирования общего и специального назначения (рис. 6). Одноименное название получил язык программирования, использующийся в системе.

 

matlab_mcxlab

 

Окно программы Matlab

 

 

Программы, написанные на Matlab, бывают двух типов: функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов. Существует также возможность сохранять так называемые pre-parsed программы – функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.

Новые версии программы выпускаются каждый год. Последние (на декабрь 2014 г.) версии пакета
M
atlab & SimulinkR2013a, R2013b, R2014a, R2014b. Пакет содержит удобную справку по всем возможным функциям и множество демонстрационных примеров.

Пакет получил применение в следующих областях.

Математика и вычисления. Matlab содержит большое количество функций для анализа данных, покрывающих практически все области математики, в частности:

·   матрицы и линейная алгебра – алгебра матриц, линейные уравнения, собственные значения и вектора, сингулярности, факторизация матриц и др.;

·   многочлены и интерполяция – корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и др.;

·   математическая статистика и анализ данных – статистические функции, статистическая регрессия, цифровая фильтрация, быстрое преобразование Фурье и др.;

·   обработка данных – набор специальных функций, включая построение графиков, оптимизацию, поиск нулей, численное интегрирование (в квадратурах) и др.;

·   дифференциальные уравнения – решение дифференциальных и дифференциально-алгебраических уравнений, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений в частных производных и др.;

·   разреженные матрицы – специальный класс данных пакета Matlab, использующийся в специализированных приложениях;

·   целочисленная арифметика – выполнение операций целочисленной арифметики в среде Matlab.

Разработка алгоритмов: Matlab предоставляет удобные средства для разработки алгоритмов, включая высокоуровневые, с использованием концепций объектно-ориентированного программирования. В нём имеются все необходимые средства интегрированной среды разработки, включая отладчик и профайлер. Функции для работы с целыми типами данных облегчают создание алгоритмов для микроконтроллеров и других приложений, где это необходимо.

Визуализация данных:

·    в составе пакета Matlab имеется большое количество функций для построения графиков, в том числе трёхмерных, визуального анализа данных и создания анимированных роликов;

·    встроенная среда разработки позволяет создавать графические интерфейсы пользователя с различными элементами управления, такими как кнопки, поля ввода и другими.

Независимые приложения: Программы Matlab, как консольные, так и с графическим интерфейсом пользователя, могут быть собраны с помощью компонента Matlab Compiler в независимые от Matlab исполняемые приложения или динамические библиотеки, для запуска которых на других компьютерах, однако, требуется установка свободно распространяемой среды Matlab Compiler Runtime (MCR).

Внешние интерфейсы: Пакет Matlab включает различные интерфейсы для получения доступа к внешним подпрограммам, написанным на других языках программирования, данным, клиентам и серверам, общающимся через технологии Component Object Model или Dynamic Data Exchange, а также периферийным устройствам, которые взаимодействуют напрямую с Matlab. Многие из этих возможностей известны под названием Matlab API.

Имеется возможность создавать специальные наборы инструментов (англ. toolbox), расширяющие функциональность Matlab. Эти наборы представляют собой коллекции функций, написанных на языке Matlab для решения определённого класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая цифровую обработку сигналов, изображений и данных, проектирования цифровых фильтров и систем связи и другие.

Simulink – это графическая среда имитационного моделирования, позволяющая при помощи блок-диаграмм в виде направленных графов строить динамические модели, включая дискретные, непрерывные и гибридные, нелинейные и разрывные системы (рис. 7).

Интерактивная среда Simulink позволяет использовать уже готовые библиотеки блоков для моделирования электрических, механических и гидравлических систем, а также применять развитый модельно-ориентированный подход при разработке систем управления, средств цифровой связи и устройств реального времени.

Дополнительные пакеты расширения Simulink позволяют решать весь спектр задач от разработки модели до ее тестирования, генерации кода и аппаратной реализации. Simulink интегрирован в среду Matlab, что позволяет использовать встроенные математические алгоритмы, средства обработки данных и графику.